#include<bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn=1e5+10;
int arr1[maxn];
int arr2[maxn];
int n, m, k;

bool check(int md){
	int cnt=0;
	for(int i=1,j=1;i<=n;i++){
		while(j<=m&&arr1[i]+arr2[j]>md){
			j++;
		}
		if(j>m){
			break;
		}
		cnt+=m-j+1;
	}
	return cnt>=k;
}


void solve(){
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++){
		cin>>arr1[i];
	}
	for(int i=1;i<=m;i++){
		cin>>arr2[i];
	}
	// 一个升序, 一个降序
	sort(arr1+1, arr1+1+n);
	sort(arr2+1, arr2+1+m, greater<int>());
	int l=arr1[1]+arr2[m]-1;
	int r=arr1[n]+arr2[1];
	while(l<r-1){
		int md=(l+r)/2;
		if(check(md)){
			r=md;
		} else {
			l=md;
		}
	}
	cout<<r<<'\n';
}


signed main(){
	ios::sync_with_stdio(0), cin.tie(0),cout.tie(0);
	solve();
	return 0;
}
